package com.longrise.android.byjk.plugins.tabfirst;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.longrise.android.byjk.R;
import com.longrise.android.byjk.model.UserInfor;
import com.longrise.android.byjk.plugins.aboutme.ConsumListActivity;
import com.longrise.android.byjk.plugins.aboutme.FollowingActivity;
import com.longrise.android.byjk.plugins.aboutme.ShareAPPLFView;
import com.longrise.android.byjk.plugins.course.allcourse.AllCoursebxyxActivity;
import com.longrise.android.byjk.plugins.course.knowledge.KnowledgeActivity;
import com.longrise.android.byjk.plugins.course.tiku.TikuActivity;
import com.longrise.android.byjk.plugins.dealsituation.cachecourse.DownloadedManageActivity;
import com.longrise.android.byjk.plugins.hra.HraMainActivity;
import com.longrise.android.byjk.plugins.poster.PosterListActivity;
import com.longrise.android.byjk.plugins.publicWeb.PublicWebActivity;
import com.longrise.android.byjk.plugins.tabfirst.allfunction.AllFunctionActivity;
import com.longrise.android.byjk.plugins.tabfirst.revision.ConsultationActivity;
import com.longrise.android.byjk.plugins.tabfirst.revision.QuestionsActivity;
import com.longrise.android.byjk.plugins.vip.VipDescriptionActivity;
import com.longrise.android.byjk.plugins.vip.VipManager;
import com.longrise.android.byjk.plugins.vip.dailysign.DailySignActivity;
import com.longrise.android.byjk.plugins.vip.integralexchange.IntegralExchange2Activity;
import com.longrise.android.byjk.plugins.vip.myintegral.MyIntegralActivity;
import com.longrise.android.byjk.utils.DialogUtil;
import com.longrise.bymodule.utils.BYContants;
import com.longrise.common.router.RouterHelper;
import com.longrise.common.utils.DZZWTools;
import com.longrise.common.utils.UmengStatisticsUtil;

/**
 * Created by callxkj on 2017/3/12.
 * 保宝app动态配置的跳转模块 集中处理类
 */

public class CustomerModuleJumpHelper {

    public final static int ZYXPage = 0; //展业秀
    public final static int BYZPPage = 1; //保易智评
    public final static int KHGLPage = 2; //客户管理
    public static int mCurrentVipOption = 0;

    /**
     * @param uniqueid     唯一标识
     * @param linkedtype   跳转原生页面2001 公司内部webview2002 内部网页需要传身份证号,userid.
     *                     拼写方法如下 &cardno=xxxx&userid=xxxx
     *                     外部网页2003 外部网页不用传身份证号,userid
     * @param showname     按钮下面的文字
     * @param linkedurl    跳转链接地址需要拼接相关id
     * @param fullurl      跳转链接完整地址不需要拼接
     * @param loadmoretype 加载更多的标记
     */
    public static void toJump(Context context, String uniqueid, String linkedtype, String showname, String linkedurl, String fullurl, String loadmoretype) {
        if (TextUtils.isEmpty(loadmoretype)) {
            if ("2003".equals(linkedtype)) {
                publicWebJump(context, showname, fullurl);
            } else {
                customerModuleJump(context, uniqueid, showname, linkedurl, fullurl);
            }
        } else { //loadmoretype不为空 则用户点击的是加载更多按钮
            toLoadMorePage(context, loadmoretype);
        }
    }

    /**
     * 自定义模块的跳转
     */
    private static void customerModuleJump(Context context, String uniqueid, String showname, String linkedurl, String fullurl) {
        if (TextUtils.isEmpty(uniqueid)) return;
        switch (uniqueid) {
            case "1001":  //我的课程
                break;
            case "1002": //保险医学
                toBxyx(context);
                break;
            case "1003":  //保宝问答
                toBbwd(context);
                break;
            case "1004": //会员中心
                toVipCenter(context);
                break;
            case "1005": //电子名片
                toZyx(context);
                break;
            case "1006": //需求评测 保易智评
                toByzp(context);
                break;
            case "1007": //客户管理
                toKhgl(context);
                break;
            case "1008": //敬请期待
                toJqqd(context);
                break;
            case "1009": //产品点评
                toCpdp(context);
                break;
            case "1010": //题库
                toTiku(context);
                break;
            case "1011": //保宝头条
                toBBTT(context);
                break;
            case "1012": //下载管理
                toXZGL(context);
                break;
            case "1013":  //消费记录
                toXFJL(context);
                break;
            case "1015":  //公司点评
                toGsdp(context);
                break;
            case "1016":  //保险案例
                toBxal(context);
                break;
            case "1017": //邀请好友
                toFXBB(context);
                break;
            case "1018": //全部功能
                toAllFunction(context);
                break;
            case "1019": //我的提问
            case "1020": //我的回答
            case "1021": //我的关注
                toWd(context, fullurl);
                break;
            case "1024": //赚取积分
                toZQJF(context, fullurl);
                break;
            case "1025": //每日签到
                toMRQD(context);
                break;
            case "1026": //我的积分
                toWDJF(context);
                break;
            case "1027": //计划对比
                toJHDB(context);
                break;
            case "1028": //积分兑换
                toJFDH(context);
                break;
            case "1029": //海报
                toHaibao(context);
                break;
            case "1030": //知识库
                toZsk(context);
                break;
            case "1031": //HRA预约
                toHRAYY(context);
                break;
        }
    }

    /**
     * 加载更多
     */
    private static void toLoadMorePage(Context context, String loadmoretype) {

    }


    /**
     * 跳转到公共的webview
     *
     * @param title webview的标题
     * @param url   链接地址
     */
    public static void publicWebJump(Context context, String title, String url) {
        Bundle bundle = new Bundle();
        bundle.putString(PublicWebActivity.TITLE, title);
        bundle.putString(PublicWebActivity.URL, url);
        bundle.putString(PublicWebActivity.BACK_TYPE, PublicWebActivity.BACK_FORK);
        jump(context, PublicWebActivity.class, bundle);
    }


    private static void jump(Context context, Class<?> cls, Bundle bundle) {
        Intent intent = new Intent(context, cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        context.startActivity(intent);
    }

    private static void showDialog(final Context context) {
        View dialogView = LayoutInflater.from(context).inflate(R.layout.dialogview_vip, null, false);
        TextView mTextCancle = (TextView) dialogView.findViewById(R.id.textcancle_vip);
        TextView mTextConfrim = (TextView) dialogView.findViewById(R.id.textconfirm_vip);
        View.OnClickListener mOnClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (v.getId()) {
                    case R.id.textcancle_vip:  //
                        break;

                    case R.id.textconfirm_vip: //
                        Intent intent = new Intent(context, VipDescriptionActivity.class);
                        intent.putExtra(VipDescriptionActivity.MODE, VipDescriptionActivity.HOME_PAGE);
                        context.startActivity(intent);
                        break;

                    default:
                        break;
                }
                DialogUtil.getInstance().dismiss();
            }
        };
        mTextCancle.setOnClickListener(mOnClickListener);
        mTextConfrim.setOnClickListener(mOnClickListener);
        DialogUtil.getInstance().creatAlertDialog(context, dialogView, 266, 159);
    }


    /**
     * 保险医学
     */
    private static void toBxyx(Context context){
        jump(context, AllCoursebxyxActivity.class, null);
        UmengStatisticsUtil.onEvent("ins_physic");
    }


    /**
     * 题库
     */
    private static void toTiku(Context context){
        jump(context, TikuActivity.class, null);
        UmengStatisticsUtil.onEvent("exercise");
    }

    /**
     * 海报
     */
    private static void toHaibao(Context context){
        jump(context, PosterListActivity.class, null);
        UmengStatisticsUtil.onEvent("poster");
    }

    /**
     * 知识库
     */
    private static void toZsk(Context context){
        jump(context, KnowledgeActivity.class, null);
        UmengStatisticsUtil.onEvent("library");
    }

    /**
     * 保宝问答
     */
    private static void toBbwd(Context context) {
        jump(context, QuestionsActivity.class, null);
    }

    /**
     * 会员中心
     */
    private static void toVipCenter(final Context context) {
        VipManager.checkVip(context, new VipManager.CheckResultListener() {
            @Override
            public void onSuccess() {
                jump(context, VipDescriptionActivity.class, null);
            }
        });
    }

    /**
     * 电子名片
     */
    private static void toZyx(final Context context) {
        mCurrentVipOption = ZYXPage;
        jump(context, PersonalShowActivity2.class, null);
        UmengStatisticsUtil.onEvent("bb_card");
    }

    /**
     * 保易智评
     */
    private static void toByzp(final Context context) {
        mCurrentVipOption = BYZPPage;
        UserInfor userInfor = UserInfor.getInstance();
        RouterHelper.toBYZPActivity(userInfor.getUserid(),
                userInfor.getUsersfzh(),userInfor.getUserphone(),userInfor.getUserName());
        UmengStatisticsUtil.onEvent("ins_test");
    }

    /**
     * 客户管理
     */
    private static void toKhgl(final Context context) {
        mCurrentVipOption = KHGLPage;
        UserInfor userInfor = UserInfor.getInstance();
        RouterHelper.toClientManageActivity2(userInfor.getUserid(),
                userInfor.getUsersfzh(),userInfor.getUserphone(),userInfor.getUserName());
        UmengStatisticsUtil.onEvent("ins_customer");
    }

    /**
     * 敬请期待
     */
    private static void toJqqd(Context context) {
        DZZWTools.showToast(context, "新功能还在开发中哦", Toast.LENGTH_SHORT);
    }

    /**
     * 全部功能
     */
    private static void toAllFunction(Context context) {
        jump(context, AllFunctionActivity.class, null);
    }

    /**
     * 产品点评
     */
    private static void toCpdp(Context context) {
        Bundle bundle = new Bundle();
        bundle.putInt(BYContants.BY_EXTRA_PARAMS, BYContants.PRODUCT_TPYE);
       // jump(context, BYWebActivity.class, bundle);
    }

    /**
     * 公司点评
     */
    private static void toGsdp(Context context) {
        Bundle bundle = new Bundle();
        bundle.putInt(BYContants.BY_EXTRA_PARAMS, BYContants.COMPANY_TYPE);
       // jump(context, BYWebActivity.class, bundle);
    }

    /**
     * 计划对比
     */
    private static void toJHDB(final Context context) {
        Bundle bundle = new Bundle();
        bundle.putInt(BYContants.BY_EXTRA_PARAMS, BYContants.PLANCONSTART_TYPE);
       // jump(context, BYWebActivity.class, bundle);
    }

    /**
     * 保险案例
     */
    private static void toBxal(Context context) {
        Bundle bundle = new Bundle();
        bundle.putInt(BYContants.BY_EXTRA_PARAMS, BYContants.TRYELIKE_TYPE);
      //  jump(context, BYWebActivity.class, bundle);
    }

    /**
     * 我的提问
     * 我的回答
     * 我的关注
     */
    private static void toWd(Context context, String fullurl) {
        Bundle bundle = new Bundle();
        bundle.putString(FollowingActivity.FIRST_URL, fullurl);
        jump(context, FollowingActivity.class, bundle);
    }

    /**
     * 消费记录
     */
    private static void toXFJL(Context context) {
        jump(context, ConsumListActivity.class, null);
    }

    /**
     * 分享保宝
     */
    private static void toFXBB(Context context) {
        jump(context, ShareAPPLFView.class, null);
    }

    /**
     * 保宝头条
     */
    private static void toBBTT(Context context) {
        jump(context, ConsultationActivity.class, null);
    }

    /**
     * 下载管理
     */
    private static void toXZGL(Context context) {
        jump(context, DownloadedManageActivity.class, null);
    }

    /**
     * 赚取积分
     * 后面拼接 type=1：每日任务；type=2：基本任务
     */
    private static void toZQJF(Context context, String fullurl) {
//        int screenWidth = ScreenUtil.getWidth(context);
//        int widthDP = ScreenUtil.px2dip(context, screenWidth);
//        String  mrrwurl = fullurl + "&screenwidth=" + widthDP+"&type=1";
//        String  jbrwurl = fullurl + "&screenwidth=" + widthDP+"&type=2";
//        Bundle bundle = new Bundle();
//        bundle.putString(IntegralTaskActivity.BASIC_URL,jbrwurl);
//        bundle.putString(IntegralTaskActivity.DAILY_URL,mrrwurl);
//        jump(context, IntegralTaskActivity.class,bundle);
//        Tracker_Google.getInstance().addEvent("mine", "赚取积分", "");
    }

    /**
     * 每日签到
     */
    private static void toMRQD(Context context) {
        jump(context, DailySignActivity.class, null);

    }

    /**
     * 我的积分
     */
    private static void toWDJF(Context context) {
        jump(context, MyIntegralActivity.class, null);
    }

    /**
     * 积分兑换页面
     */
    private static void toJFDH(Context context) {
        jump(context, IntegralExchange2Activity.class, null);
    }

    /**
     * HRA预约
     */
    private static void toHRAYY(Context context){
//        DZZWTools.showToast(context,"该功能正在开发中，敬请期待！",0);
        jump(context, HraMainActivity.class, null);
        UmengStatisticsUtil.onEvent("hra_order");
    }
}
